package com.dbsop.anthorizatiion;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * ES entity 注解
 */

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface ESDocument {
    /**
     * 索引名称
     * @return
     */
    String index_name()default "";

    /**
     * 索引别名设置
     * @return
     */
    String alias()default "";

    /**
     * 默认别名操作 对保存无效
     * @return
     */
    boolean default_alias_opt()default false;

    /**
     * 设置可以返回结果集的数量
     * @return
     */
    int max_result()default -1;

//    /**
//     * 类型
//     * @return
//     */
//    String _type() default EsConstant._TYPE;

    /**
     * 多个索引
     * @return
     */
    String[] indices() default {};

    /**
     * 分配数量 0代表 自动分配
     * @return
     */
    int share() default 0;

    /**
     * 分配数量 0代表 自动分配
     * @return
     */
    int replicas() default 0;

    /**
     * 是否自动创建 不需要插件创建索引 设置为false
     * @return
     */
    boolean isAutoCreate()default true;

    /**
     * 是否属于继承   继承属性则只具备读取列  不具备修改和添加列
     * @return
     */
    boolean isExt()default false;
}
